package com.antler.smt.service.admin;

import com.antler.smt.entity.PurchaserChargeEntity;
import com.antler.smt.entity.PurchaserEntity;
import com.antler.smt.enums.ResultCodeEnum;
import com.antler.smt.request.admin.GetPurchaserListReq;
import com.antler.smt.request.admin.GetRequirementListReq;
import com.antler.smt.request.admin.PurchaserAccountReq;
import com.antler.smt.request.base.BasePageReq;
import com.antler.smt.response.admin.GetOrderListResp;
import com.antler.smt.response.admin.GetPurchaserListResp;
import com.antler.smt.response.admin.GetRequirementListResp;
import com.antler.smt.response.base.Result;
import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;

/**
 *  采购商个人中心接口
 *
 * @author zhangyi
 * @date 2018/3/27 10:18
 */
public interface PurchaserService {

    /**
     * 获取采购商审核结果列表
     *
     * @param request
     * @return
     */
    Result<Page<GetPurchaserListResp>> getPurchaserAuditResultList(GetPurchaserListReq request);

    /**
     * 获取指定的采购商实体
     *
     * @param id
     * @return
     */
    Result<PurchaserEntity> getPurchaserInfoById(Long id);

    /**
     *  采购商认证审核
     *
     * @param id 采购商主键
     * @return
     */
    Result<ResultCodeEnum> updatePurchaserAuditResult(Long id, Integer auditResult);

    /**
     *  获取采购商发布需求列表
     *
     * @param requirementListReq
     * @return
     */
    Result<Page<GetRequirementListResp>> getPurchaserRequirementList(GetRequirementListReq requirementListReq);

    /**
     * 获取待审核列表
     *
     * @param basePageReq  分页数据
     * @return
     */
    Result<PageInfo<PurchaserChargeEntity>> getPurchaserWaitAuditList(BasePageReq basePageReq);

    /**
     * 采购商账户修改
     *
     * @param req
     * @param purchaserId
     * @return
     */
    Result<ResultCodeEnum> editPurchaserAccount( PurchaserAccountReq req, Long purchaserId);
}
